11e10bc1eb847ba20b40e1e1693afab71750213f,src/main/java/com/solab/iso8583/parse/TimeParseInfo.java,TimeParseInfo,parse,#number#number[]#number#CustomField#,43

Before Change


		}
		Calendar cal = Calendar.getInstance();
		cal.set(Calendar.HOUR_OF_DAY, ((buf[pos] - 48) * 10) + buf[pos + 1] - 48);
		cal.set(Calendar.MINUTE, ((buf[pos + 2] - 48) * 10) + buf[pos + 3] - 48);
		cal.set(Calendar.SECOND, ((buf[pos + 4] - 48) * 10) + buf[pos + 5] - 48);
		return new IsoValue<Date>(type, cal.getTime(), null);
	}

After Change


                    "Insufficient data for TIME field %d, pos %d", field, pos), pos);
		}
		Calendar cal = Calendar.getInstance();
        if (forceStringDecoding) {
            cal.set(Calendar.HOUR_OF_DAY, Integer.parseInt(new String(buf, pos, 2, getCharacterEncoding()), 10));
            cal.set(Calendar.MINUTE, Integer.parseInt(new String(buf, pos+2, 2, getCharacterEncoding()), 10));
            cal.set(Calendar.SECOND, Integer.parseInt(new String(buf, pos+4, 2, getCharacterEncoding()), 10));
        } else {
            cal.set(Calendar.HOUR_OF_DAY, ((buf[pos] - 48) * 10) + buf[pos + 1] - 48);
            cal.set(Calendar.MINUTE, ((buf[pos + 2] - 48) * 10) + buf[pos + 3] - 48);
            cal.set(Calendar.SECOND, ((buf[pos + 4] - 48) * 10) + buf[pos + 5] - 48);
        }
		return new IsoValue<Date>(type, cal.getTime(), null);
	}